package org.example.service.File;

import lombok.extern.log4j.Log4j;
import org.apache.commons.lang.StringUtils;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


@Log4j
public class FileDoc {

    private static final String PATH="D:\\前端项目\\xiapi_doc\\docs\\文档";
    public static List<String> getAll(){
        List<String> filename=new ArrayList<>();
        //表示一个文件路径
        File file = new File(PATH);
        //用数组把文件夹下的文件存起来
        File[] files = file.listFiles();
        //foreach遍历数组
        for (File file2 : files) {
            filename.add(file2.getName());
        }
        return filename;
    }
    public static void uploadFile(MultipartFile[] files) throws IOException {

        InputStream in;//定义一个输出流
        OutputStream out;//定义一个输入流
        //orderFileProperties.getFilePath()是文件存储路径
        //I:\\Develop\\postgres\\orderfile为自己本地路径
        //也可以改成服务器路径，不过，要写给个读写的权限

        File fileDir = new File(PATH);
        if (!fileDir.exists()) {
            fileDir.setWritable(true);
            boolean mkdir = fileDir.mkdirs();
            if (!mkdir) {
                log.error("创建文件夹失败.");

            }
        }
        //遍历上传的文件
        for (MultipartFile file : files) {
            //获得完整文件名，包括拓展名
            String fileName = file.getOriginalFilename();

            //路径+完整的文件名
            File serverFile = new File(fileDir.getAbsolutePath() + "/" +fileName);
            //输出流，读出数据
            in = file.getInputStream();
            //输入流，写入数据
            out = new FileOutputStream(serverFile);
            byte[] b = new byte[1024];
            int len;
            //把读出的数据赋予len
            while ((len = in.read(b)) > 0) {
                //输出数据
                out.write(b, 0, len);
            }
            //关闭流
            if (out != null) {
                out.close();
            }
            if (in != null) {
                in.close();
            }

        }

    }



}
